home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARMCLUB / EUREKA / EUREKA29 / Programs / PhotoFiler / !PhotoFilr / !Help next >
Text File  |  1998-06-28  |  14KB  |  399 lines

  1. _____________________________________________________________________________
  2.  
  3.                              P h o t o F i l e r
  4.  
  5.                 Picture thumbnailing extension for the Filer
  6.  
  7.                            Written by David Thomas
  8.                          for Sliced Software, © 1998
  9.  
  10.                           version 1.00 (28 Jun 1998)
  11. _____________________________________________________________________________
  12.  
  13. ____________
  14.  
  15. Introduction
  16. ____________
  17.  
  18. PhotoFiler is a utility program which adds the ability to ‘thumbnail’
  19. pictures to the Filer.
  20.  
  21. With PhotoFiler loaded, a miniature version of the picture is shown in
  22. directory displays in place of the usual file type icon.  This is very
  23. useful for organising collections of pictures, as it enables you to rapidly
  24. identify the contents of a picture file just by looking at its icon.
  25.  
  26. In addition to thumbnailing, PhotoFiler provides additional controls over
  27. the presentation of icons in directory displays.  You can define your own
  28. icons for directories which will be used instead of the usual directory
  29. sprites.  This is ideal for providing a graphic representation of a
  30. directory’s purpose.
  31.  
  32. PhotoFiler also attempts to alleviate a long-standing problem - that of the
  33. pling (‘!’) character in front of application names.  These can hidden from
  34. view in directory viewers, giving neater looking directory displays.
  35.  
  36. PhotoFiler requires RISC OS 3.6 or later.  RISC OS 3.5 is supported, if the
  37. SpriteExtend 0.99 and DrawFile 1.46 modules are available.
  38.  
  39. PhotoFiler is SHAREWARE.
  40.  
  41. ________
  42.  
  43. Features
  44. ________
  45.  
  46.  · Sprites, JPEGs and DrawFile pictures are thumbnailed in the background
  47.    and displayed in place of the file type icon.
  48.  
  49.  · Full control over the dithering of thumbnails is provided for Sprites
  50.    and JPEGs.
  51.  
  52.  · Pictures which are found to be faulty are shown with a ‘warning’ symbol.
  53.  
  54.  · Directories can be given customised sprites by merging a sprite into the
  55.    common sprite pool.  Sprites can be provided for the four possible
  56.    directory states of open/closed and selected/unselected.
  57.  
  58.  · The pling symbol (‘!’) can be removed from the start of application
  59.    names, giving neater looking directory displays.  This modification
  60.    occurs in display only so that sorting orders are not affected.
  61.  
  62.  · PhotoFiler is transparent in operation, written in 100% ARM assembler.
  63.    None of the Filer module’s code is modified, meaning that PhotoFiler
  64.    uses very little memory itself.
  65.  
  66. _________
  67.  
  68. Interface
  69. _________
  70.  
  71. Icon Bar Icon
  72. ¨¨¨¨¨¨¨¨¨¨¨¨¨
  73.   SELECT on the icon bar icon opens the Control Panel.
  74.   MENU opens the icon bar menu.
  75.  
  76. Control Panel
  77. ¨¨¨¨¨¨¨¨¨¨¨¨¨
  78. The control panel is available by clicking SELECT on the icon bar icon.
  79.  
  80.   Show Sprite thumbnails        When set, sprite files will be thumbnailed.
  81.     Simple dithering            Performs a simple dithering technique on
  82.                                   the thumbnail.
  83.     Application sprites         Forces thumbnailing off for sprites that
  84.                                   are part of applications.
  85.  
  86.   Show JPEG thumbnails          When set, JPEG images will be thumbnailed.
  87.     No dithering                Quickest, but lowest quality, thumbnails.
  88.     Simple dithering            Medium speed, medium quality, thumbnails.
  89.     Error diffusion             Slowest, but highest quality, thumbnails.
  90.                                   (Note that you’re unlikely to notice
  91.                                   any great speed/quality difference
  92.                                   between these last two options).
  93.  
  94.   Show Draw thumbnails          When set, DrawFiles will be thumbnailed.
  95.  
  96.   Hide application plings       When set, applications will have their
  97.                                   initial pling character (‘!’) removed
  98.                                   from view.
  99.  
  100. Icon Bar Menu
  101. ¨¨¨¨¨¨¨¨¨¨¨¨¨
  102.   Quit
  103.   -> Control panel only         Removes PhotoFiler’s control panel only,
  104.                                   the module - which does the work - will
  105.                                   remain active.
  106.   -> All of PhotoFiler          Removes PhotoFiler completely from memory.
  107.  
  108. ________
  109.  
  110. Features
  111. ________
  112.  
  113. Thumbnails
  114. ¨¨¨¨¨¨¨¨¨¨
  115. PhotoFiler generates thumbnails on the fly as soon as you open a directory
  116. viewer containing Sprites, JPEGs or DrawFiles.
  117.  
  118. The first thing you will notice upon opening such a directory is that the
  119. picture’s usual file icon is shown in shaded grey until the thumbnail is
  120. generated.  You will normally only see this icon for a fraction of a second,
  121. especially on faster machines, as even the largest thumbnails take only a
  122. few seconds to load and render.  Once the thumbnail is ready, it is
  123. displayed in the place of the icon in the Filer window.  Thumbnails are
  124. processed in the background so you can continue to use the desktop whilst
  125. thumbnailing is taking place.
  126.  
  127. Only icons that are visible on screen are ‘seen’ by PhotoFiler.  This means
  128. that if you scroll a directory viewer to reveal more icons, they will then
  129. be noticed by PhotoFiler and processed.
  130.  
  131. PhotoFiler can handle any number of thumbnails in any number of directory
  132. displays simultaneously, although things will slow down proportionately with
  133. the number of directory displays that are active.
  134.  
  135.  
  136. PhotoFiler always attempts to generate the largest size thumbnail it can,
  137. given the aspect ratio of the picture and the amount of space available for
  138. the thumbnail in the Filer window.
  139.  
  140. The maximum size of a thumbnail sprite is 172 by 74 OS units, which equates
  141. to a maximum of 86 by 37 pixels in a typical square pixel mode.  Due to the
  142. way Filer windows are laid out, any thumbnails bigger than that would be
  143. displayed incorrectly and obscured by the text of the filename.
  144.  
  145. Thumbnails are always created in the current screen mode so that the user
  146. has control over the quality vs. memory tradeoff.  If you change screen
  147. mode, thumbnails will not be re-rendered to the new mode.
  148.  
  149.  
  150. Sprite Thumbnails
  151. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  152. Sprite thumbnails are thumbnailed using RISC OS’s sprite scaling features.
  153.  
  154. When the ‘Show application sprites’ option is off, PhotoFiler will not
  155. generate thumbnails for files with the word ‘Sprites’ in their name.  This
  156. stops most sprite files belonging to applications being shown.  (Note that
  157. this check is case-sensitive).
  158.  
  159. If a sprite has no palette present then the default desktop palette is used.
  160. This matches the behaviour of RISC OS Paint when its ‘Use desktop colours’
  161. option is on.
  162.  
  163. Only the first sprite in any multiple-sprite file will be shown.
  164.  
  165.  
  166. JPEG Thumbnails
  167. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  168. The JPEG rendering feature of RISC OS 3.6 and later is used to generate
  169. thumbnails for JPEG images.
  170.  
  171. JPEG images are always tested for completeness and integrity before being
  172. rendered.  This means that partial or corrupt JPEG files will not be
  173. presented as thumbnails.
  174.  
  175. The RISC OS JPEG rendering calls are quite particular about the files that
  176. they will render.  Images with certain non-standard settings in the file
  177. header will often be rejected.  You may wish to obtain a copy of the
  178. JPEGTrans¹ utility which can clean and optimise JPEG images.
  179.  
  180. Progressive JPEGs cannot be thumbnailed, unless they are first converted to
  181. normal JPEGs by using JPEGTrans.
  182.  
  183. ¹ Freeware, by Chris Egan of Skullsoft. http://www.eganc.demon.co.uk/
  184.  
  185.  
  186. DrawFile Thumbnails
  187. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  188. PhotoFiler uses the DrawFile module, built into RISC OS 3.6 and later, to
  189. generate thumbnails of DrawFiles.
  190.  
  191. Before being thumbnailed, the DrawFile is (mildly) validated to ensure that
  192. it can be rendered correctly.  Any file that fails the validation will be
  193. shown with the ‘error’ symbol.
  194.  
  195. The DrawFile module performs no anti-aliasing when scaling down, so
  196. thumbnails may look innacurate with respect to the original file.  This is
  197. especially evident if ‘Thin’ lines are used in the DrawFile.
  198.  
  199. If fonts are used in the DrawFile, then a large font cache will speed things
  200. up.
  201.  
  202. ________________________
  203.  
  204. Custom Directory Sprites
  205. ________________________
  206.  
  207. PhotoFiler can adjust the sprite used by the Filer to represent directories.
  208. This is done by defining a new sprite for each possible directory icon
  209. state.
  210.  
  211.                                      Sprite name  Small sprite name
  212.                                      ¨¨¨¨¨¨¨¨¨¨¨  ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  213.         Directory closed, unselected   #dirname      sm#dirname
  214.         Directory closed, selected     $dirname      sm$dirname
  215.         Directory open, unselected     %dirname      sm%dirname
  216.         Directory open, selected       &dirname      sm&dirname
  217.  
  218. If no sprite is found for the current sprite state, then the Filer’s default
  219. display will be used.  (This behaviour isn’t ideal, and may be revised in a
  220. future version).
  221.  
  222. Note that when a custom directory sprite is in use, the text of the icon
  223. will not be inverted when selected as usual.
  224.  
  225. _________________________
  226.  
  227. Hiding Application Plings
  228. _________________________
  229.  
  230. With the ‘Hide application plings’ option selected, the names of
  231. applications displayed in Filer windows will be adjusted so that their
  232. initial pling character (‘!’) is removed.
  233.  
  234. The advantage of this is that it gives cleaner looking directory displays
  235. and is potentially less confusing for novices.
  236.  
  237. The character is only removed from the display of the name, it does not
  238. affect the physical name of applications on your disc or in any other part
  239. of the system.
  240.  
  241. Using this option will not affect the sorting order of directory displays.
  242.  
  243. _____
  244.  
  245. Notes
  246. _____
  247.  
  248. Suppressing Thumbnailing
  249. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  250. Holding down Ctrl when opening a new directory display will suppress
  251. thumbnailing for that directory.
  252.  
  253. Automatic Quit
  254. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  255. Adding ‘-autoquit’ to the last line of !PhotoFiler.!Run will make the front-
  256. end automatically quit once the module is initialised.  This is useful for
  257. use in desktop boot sequences.
  258.  
  259. Sprite Cache Dynamic Area
  260. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  261. Even if you use the ‘All of PhotoFiler’ option to quit, PhotoFiler will not
  262. fully remove its ‘PhotoFiler sprites’ dynamic area.  This is not a bug.
  263.  
  264. When PhotoFiler is active it points the sprite area control block of each
  265. newly created directory display directly to its own sprite area.  If
  266. PhotoFiler is removed, these pointers remain in place.  Removing the sprite
  267. cache dynamic area whilst these directory displays are still in use would
  268. cause a crash, so the area is in left in place but reduced in size as much
  269. as possible.
  270.  
  271. If PhotoFiler is later restarted, then it will automatically take over any
  272. existing sprite cache area.
  273.  
  274. Bugs in RISC OS
  275. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  276. Unfortunately, PhotoFiler is affected by a number of faults in RISC OS. 
  277. They are detailed here to explain some of PhotoFiler’s more esoteric
  278. behaviour.
  279.  
  280. 1. There is a bug in both current variants of the SpriteExtend module - the
  281.    RISC OS module which deals with JPEG images.  The bug is three redundant
  282.    instructions which perform a read from an assumed location in the
  283.    controlling task’s wimpslot.  This causes an ‘abort on data transfer’
  284.    exception if the calling application has less than 24K of wimpslot.
  285.  
  286.    Since PhotoFiler is not a wimp task, it has no wimpslot, so calling
  287.    SpriteExtend to render JPEG images will always fail.  PhotoFiler
  288.    automatically fixes this bug by copying the SpriteExtend module into RAM
  289.    and disabling the redundant instructions.  This fix takes approximately
  290.    75K of memory.
  291.  
  292. 2. There is another bug in RISC OS’s own sprite handling code which causes
  293.    apparently random crashes.  PhotoFiler includes a work-around fix for
  294.    this. The net result of this is that PhotoFiler has to claim at most 4K
  295.    more sprite memory than it actually needs.
  296.  
  297. 3. And again, there is another bug in SpriteExtend which means that JPEGs
  298.    which scale to one pixel in either thumbnail dimension will be rejected
  299.    in order to prevent a machine crash.
  300.  
  301. ___________
  302.  
  303. Limitations
  304. ___________
  305.  
  306.  · PhotoFiler works by filename alone, and for reasons of speed does not
  307.    monitor file operations, so if you delete a picture then rename another
  308.    file or directory to the same name, the previous thumbnail will be used
  309.    for that object.
  310.  
  311.  · Pictures are loaded whole into memory before being rendered.  Pictures
  312.    which are too large to load will be shown with the ‘warning’ icon.
  313.  
  314.  · If PhotoFiler should run out of memory, then it will start showing
  315.    thumbnails with the ‘warning’ icon.  If memory is in very short supply
  316.    then PhotoFiler will ignore the icons completely.
  317.  
  318.  · PhotoFiler slows down the window redraw speed of the Filer.
  319.  
  320. _____________
  321.  
  322. Compatibility
  323. _____________
  324.  
  325. It is unlikely that PhotoFiler will work in conjunction with any other
  326. programs that tries to provide the same sort of functionality.  This
  327. includes programs such as Album, ProFiler and Filer+, for example.
  328.  
  329. Utilities such as (my own) QuickFiler will work, as it services a different
  330. area of functionality.
  331.  
  332. ______
  333.  
  334. Future
  335. ______
  336.  
  337.  - Support for ArtWorks files.
  338.  - Resolution of first limitation (see above).
  339.  
  340. ________
  341.  
  342. Versions
  343. ________
  344.  
  345. 1.00 (28 Jun 1998)
  346.   - First general release.
  347.  
  348. _______
  349.  
  350. Credits
  351. _______
  352.  
  353. Many thanks to go to Justin Fletcher for his original source upon which this
  354. program is based and to the brave souls who took part in the testing of
  355. prerelease versions.  Thanks to Andrew Clover for the WimpSWIVe module.
  356.  
  357. _______________
  358.  
  359. Sliced Software
  360. _______________
  361.  
  362. Sliced Software is an Acorn Registered Developer.
  363.  
  364. _________
  365.  
  366. Copyright
  367. _________
  368.  
  369. This software (“PhotoFiler”) is copyrighted work of David Thomas, it is
  370. supplied to you, the user, “as is”; you use this application entirely at
  371. your own risk.  The author makes no warranty as to the fitness of this
  372. software for any purpose.  In no circumstances will the author be liable
  373. for any loss arising from the use or inability to use this software.
  374.  
  375. THIS SOFTWARE IS SHAREWARE.  PLEASE ABIDE BY THE SUPPLIED CONDITIONS OF USE.
  376.  
  377. _____________________
  378.  
  379. Contacting the Author
  380. _____________________
  381.  
  382. If you have any comments, bug reports or suggestions for future versions
  383. then you can contact me via:
  384.  
  385.         Post:  Mr D.P. Thomas
  386.                20 Rosebery Avenue
  387.                Waterloo
  388.                Liverpool
  389.                L22 2BH
  390.  
  391.         Mail:  photofiler@sliced.demon.co.uk
  392.  
  393.         Web:   http://www.sliced.demon.co.uk/software/photofiler/
  394.         
  395. If you have a question, then please check it has not already been answered
  396. in this documentation before mailing.
  397. _____________________________________________________________________________
  398.  
  399.